# Регистрация с подтверждением email

В этой задаче вам необходимо реализовать API для регистрации пользователей. Процесс регистрации 
состоит из 2 шагов: вначале пользователь вводит свои данные в поля формы и запрос с ними 
отправляется на сервер, затем на указанный email приложение должно отправить ссылку для 
подтверждения.

Модель пользователя в очередной раз претерпела некоторые изменения, для хранения уникального токена,
который и будет отправляться на указанную почту мы будем использовать поле `verificationToken`. 
Логика такова: если в этом поле находится какое-то значение - email пользователя ожидает 
подтверждения, если значения нет - пользователь подтвердил свой email.


Задача сводится к следующему:
1. При обработке запроса `POST /register` необходимо:
    - сгенерировать токен с помощью библиотеки `uuid`
    - создать новый документ пользователя, используя значения полей `email, displayName и password`
    из запроса, а также использовать полученный ранее токен в качестве значения для поля 
    `verificationToken`
    - отправить на указанный пользователем email письмо с ссылкой вида 
    `http://localhost:3000/confirm/${token}`
2. Если пользователь уже есть в базе данных или указан невалидный email:
    - сервер должен вернуть ошибку 400
    - в теле ответа должен быть ключ `errors`, в котором перечислены все ошибки (например,
    `{ errors: { email: 'Такой email уже существует' } }`).
3. Если пользователь указал действительный email, то получив письмо он сможет перейти по ссылке в 
нём и нам необходимо выполнить простую операцию:
    - найти пользователя в базе по значению переданного токена, обновить документ удалив поле
    `verificationToken`.
    - аутентифицировать пользователя, сгенерировав для него новый ключ сесии (также, с помощью uuid)
4. Если пользователь, который не подтвердил email пытается залогиниться с правильным паролем - 
локальная стратегия должна возвращать ошибку "подтвердите email".
5. Если пользователь делает запрос на `/confirm` с неправильным токеном - ему должна вернуться
ошибка 400 - `{error: 'Ссылка подтверждения недействительна или устарела'}`.
